// 引入常量
import {
    INCREMENTCOUNT,
    DECREMENTCOUNT
  } from '../constant/countconst'

  import store from '../store'


//   累加的action
  export const incrementAction = (data = 1)=>{
    //传入data,并返回一个对象,data可以给一个初始值或者不给
    return {
        type:INCREMENTCOUNT,
        data
    }
  }

// 累减的action
export const decrementAction = (data = 1)=>{

    return {
        type:DECREMENTCOUNT,
        data
    }
}

//延时增加的action,由于函数无法直接返回一个(异步操作)
//如果直接返回异步操作,则异步操作里返回不了需要的对象,而是返回undefined
export const waitIncrementAction = (data)=>{
  //把定时器返回出去交给中间件处理
  return ()=>{
    setTimeout(() => {
      store.dispatch({
        type: INCREMENTCOUNT,
        data
      })
    }, 2000)
  }
}